﻿/*
 * Copyright (c) Microsoft Corporation.
 * Licensed under the MIT license.
 */

/* global Office */

Office.onReady(() => {
    // If needed, Office.js is ready to be called
});

/**
 * Shows a notification when the add-in command is executed.
 * @param event {Office.AddinCommands.Event}
 */
function action(event) {
    const message = {
        type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
        message: "Performed action.",
        icon: "Icon.80x80",
        persistent: true
    }

    // Show a notification message
    Office.context.mailbox.item.notificationMessages.replaceAsync("action", message);

    // Be sure to indicate when the add-in command function is complete
    event.completed();
}

function getGlobal() {
    return (typeof self !== "undefined") ? self :
        (typeof window !== "undefined") ? window :
            (typeof global !== "undefined") ? global :
                undefined;
}

const g = getGlobal();

// the add-in command functions need to be available in global scope
g.action = action;
